package com.compomics.proteocloud.ec2;

/**
 * This container class represents a server instance from the EC2 server pool.
 * It's used for the table updating functionality in the UI. 
 * @author Thilo Muth
 *
 */
public class EC2Instance {
	
	/**
	 * The unique instance ID.
	 */
	private String instanceID;
	
	/**
	 * The state of the instance.
	 */
	private String state;
	
	/**
	 * The AMI name.
	 */
	private String image;
	
	/**
	 * The public DNS description.
	 */
	private String publicDNS;
	
	
	/**
	 * The constructor for the EC2Instance with field parameters.
	 * @param instanceID
	 * @param state
	 * @param image
	 * @param publicDNS
	 */
	public EC2Instance(String instanceID, String state, String image, String publicDNS) {
		this.instanceID = instanceID;
		this.state = state;
		this.image = image;
		this.publicDNS = publicDNS;
	}

	/**
	 * Returns the instanceID.
	 * @return intanceID
	 */
	public String getInstanceID() {
		return instanceID;
	}
	
	/**
	 * Sets the instanceID.
	 * @param instanceID
	 */
	public void setInstanceID(String instanceID) {
		this.instanceID = instanceID;
	}
	
	/**
	 * Returns the state of the instance.
	 * @return state
	 */
	public String getState() {
		return state;
	}
	
	/**
	 * Sets the state of the instance.
	 */
	public void setState(String state) {
		this.state = state;
	}
	
	/**
	 * Returns the image name.
	 * @return
	 */
	public String getImage() {
		return image;
	}
	
	/**
	 * Sets the image name.
	 * @param image
	 */
	public void setImage(String image) {
		this.image = image;
	}
	
	/**
	 * Returns the public DNS.
	 * @return
	 */
	public String getPublicDNS() {
		return publicDNS;
	}
	
	/**
	 * Sets the public DNS.
	 * @param publicDNS
	 */
	public void setPublicDNS(String publicDNS) {
		this.publicDNS = publicDNS;
	}
}
